package com.moss.cloud.common.file.operation;

import com.moss.cloud.common.file.model.StorageModel;
import com.moss.cloud.common.file.model.UploadRes;
import io.minio.errors.*;
import lombok.SneakyThrows;

import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

/**
 * 文件上传接口
 *
 * @author 瑾年
 * @date 2023年4月19日
 */
public interface FileStorageOperation {
    /**
     * 执行上传文件操作
     *
     * @param storageModel
     * @return
     */
    @SneakyThrows
    UploadRes upload(StorageModel storageModel);

    /**
     * 删除文件
     *
     * @param storageModel
     */
    @SneakyThrows
    void removeFile(StorageModel storageModel);
}
